package com.example.controller.courseController;

import com.example.pojo.coursePojo.JsCourse;
import com.example.pojo.shangPinDataPojo.ResultDate;
import com.example.service.courseService.JsCourseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Author:郭
 * @Description: TODO
 * @Date: 2022/11/24 20:33
 * @ClassName JsCourseController
 * 课程表
 */
@RequestMapping("/JsCourse")
@Controller
public class JsCourseController {
    @Autowired
    private JsCourseService jsCourseService;
    /**
     * @Author: 郭
     * @Date: 2022/11/28 14:54
     * @Param:
     * @Return: ResultDate<JsCourse>
     * 全查课程表中的全部数据
     */
    @GetMapping("/getAll")
    @ResponseBody
    public ResultDate<JsCourse> getAll(){
        List<JsCourse> all = jsCourseService.getAll();
        ResultDate<JsCourse> date = new ResultDate<>();
        date.setCount(jsCourseService.getCount());
        date.setData(all);
        System.out.println("数据"+date);
        return date;
    }
    /**
     * @Author: 郭
     * @Date: 2022/11/28 16:12
     * @Param:classId、courseName、coursePrice、createId、courseCstatus、courseIntro
     * @Return: List<JsCourse>
     * 根据课程分类(1、后端、2、前端、3、运营) 课程名称 课程价格 课程标签 上传人员（1、张三2、李四）
     * 审核状态（3、未审核4、审核中5、审核失败6、其他）实现高级检索模糊查询出来
     */
    @GetMapping("/advancedSelect")
    @ResponseBody
    public List<JsCourse> advancedSelect(int classId,
                                         String courseName,
                                         BigDecimal coursePrice,
                                         int createId,
                                         int courseCstatus,
                                         String courseIntro){
        List<JsCourse> jsCourses = jsCourseService.advancedSelect(
                classId,
                courseName,
                coursePrice,
                createId,
                courseCstatus,
                courseIntro);
        System.out.println("高级检索：=============："+jsCourses);
        return jsCourses;
    }
    /**
     * @Author: 郭
     * @Date: 2022/11/28 18:48
     * @Param: courseName、classId、createId、courseIntro
     * @Return: List<JsCourse>
     * 根据课程名称 课程分类(1、后端、2、前端、3、运营) 上传人员（1、张三2、李四） 课程标签 实现模糊查询
     */
    @GetMapping("/dimSubmit")
    @ResponseBody
    public List<JsCourse> dimSubmit(String courseName,
                                    int classId,
                                    int createId,
                                    String courseIntro){
        List<JsCourse> jsCourses = jsCourseService.dimSubmit(
                courseName,
                classId,
                createId,
                courseIntro);
        System.out.println("模糊查询：=============："+jsCourses);
        return  jsCourses;
    }
    /**
     * @Author: 郭
     * @Date: 2022/11/29 10:38
     * @Param: jsCourse
     * @Return: int
     * 根据课程表中的对象修改表中的数据
     */
    @PostMapping("/getUpdate")
    @ResponseBody
    public int getUpdate(@RequestBody JsCourse jsCourse){
        int update = jsCourseService.getUpdate(jsCourse);
        return update;
    }
    /**
     * @Author: 郭
     * @Date: 2022/11/29 14:55
     * @Param: jsCourse
     * @Return: int
     * 根据自增ID删除内容
     */
    @PostMapping("/getDelete")
    @ResponseBody
    public int getDelete(@RequestBody JsCourse jsCourse){
        int delete = jsCourseService.getDelete(jsCourse.getCouseId());
        System.out.println(delete);
        return delete;
    }
    /**
     * @Author: 郭
     * @Date: 2022/12/7 9:06
     * @Param: jsCourse
     * @Return: int
     * 根据对象添加课程信息
     */
    @PostMapping("/getCreate")
    @ResponseBody
    public int getCreate(@RequestBody JsCourse jsCourse){
        int create = jsCourseService.getCreate(jsCourse);
        System.out.println("添加："+create);
        return create;
    }
}
